<?php
require_once("BaseDatos.class.php");

/*
 * Clase encargada de la interacción con la base de datos,
 * para Nota.
 * Extiende BaseDatos que implementa la interacción directa
 * generalizada con la base de datos.
 */
class ProductoBD extends BaseDatos
{	
	/*
	 * Inserta los datos del objeto Nota actual
	 * a la base de datos.
	 *
	 * Retorna true si se logró insertar los datos.
	 */
	function insert(){
		global $oConn;
		$this->connectClass();
		
		//Comando a ejecutar
		$sql="INSERT INTO producto "
			."( nombre, precio_diario, tipo, descripcion, stock)"
			." VALUES ("
			."'".$this->nombre."', "
			.$this->precio_diario.", "
 			.$this->tipo.", "
			."'".$this->descripcion."', "
			.$this->stock."); ";
			 
		//Se hace el insert
		$result = $this->insertbd($sql);
		$this->close();
				
		if(!$result)
			return false;
		else
			return true;
	}

	/*
	 * Obtiene una lista con las notas del alumno y
	 * retorna un arreglo con esta información.
	 *
	 * $idAlumno: id del alumno a consultar.
	 *
	 * Retorna un arreglo con la información de cada
	 * nota.
	 */
	function listaproducto(){			
		global $oConn;
		
		//Se pide la clase Nota para crear objetos Nota
		require_once('includes/class/Producto.class.php');
		$this->connectClass();
		
		//SQL a ejecutar para buscar el producto
		$sql = "SELECT id_producto, nombre, precio_diario, tipo, descripcion, stock FROM producto";
		$result = $this->query($sql);
		
		//Se crea un arreglo de notas que será lo que se retorna
		$productos = array();
		
		//Se itera por cada resultado, agregando cada nota al arreglo
		while (list($id_producto, $nombre, $precio_diario, $tipo, $descripcion, $stock) = $this->fetch($result)) {
			$producto = new producto();
			$producto->setId($id_producto);
			$producto->setnombre($nombre);
			$producto->setprecio_diario($precio_diario);
			$producto->settipo($tipo);
			$producto->setdescripcion($descripcion);
			$producto->setstock($stock);
			$productos[] = $producto;
		}		
		
		$this->close();
		return $productos;
	}	
	
	function verproducto($id_producto){			
		global $oConn;
		
		//Se pide la clase Nota para crear objetos Nota
		require_once('includes/class/Producto.class.php');
		$this->connectClass();
		
		//SQL a ejecutar para buscar el producto
		$sql = "SELECT id_producto, nombre, precio_diario, tipo, descripcion, stock FROM producto WHERE id_producto=".$id_producto.";";
		$result = $this->query($sql);
		
		
		//Se itera por cada resultado, agregando cada nota al arreglo
		list($id_producto, $nombre, $precio_diario, $tipo, $descripcion, $stock) = $this->fetch($result);
			$producto = new producto();
			$producto->setId($id_producto);
			$producto->setnombre($nombre);
			$producto->setprecio_diario($precio_diario);
			$producto->settipo($tipo);
			$producto->setdescripcion($descripcion);
			$producto->setstock($stock);
				
		
		$this->close();
		return $producto;
	}	
	
	function modify($id_producto){
		global $oConn;
		$this->connectClass();
		
		//Comando a ejecutar
		$sql="UPDATE producto SET nombre = '".$this->nombre."', precio_diario = ".$this->precio_diario.", tipo = ".$this->tipo.", descripcion = '".$this->descripcion."', stock = ".$this->stock." WHERE id_producto = ".$this->id_producto;
			 
		//Se hace el insert
		$result = $this->insertbd($sql);
		$this->close();
				
		if(!$result)
			return false;
		else
			return true;
	}
	
	
	
}
